Одним из важнейших постулатов построения баз данных является устранение избыточности информации. При построении отчета стоит прямо противоположная задача: для улучшения его восприятия, необходимо вывести информацию, которая непосредственно отсутствует в БД, но может быть определена из значений имеющихся полей. Классическим примером является вычисление суммы на основе цены товара и его количества.
Конечно, эту задачу можно решить непосредственно в БД путем построения представления, но Crystal Reports включает механизм формул, позволяющий решить эту, и многие другие задачи без вмешательства в базу данных.
Кроме вычислений, формулы Crystal Reports имеют еще одно важное назначение – с их помощью можно производить форматирование в зависимости от контекста. Например: должников выделить красным цветом, а клиентов, имеющих право на скидки – жирным шрифтом.
Окно Insert Fields имеет вкладку Formula. Перейдем на нее:
Пока в отчете нет ни одной формулы, вкладка пуста. Нажмем кнопку New. Откроется окно для ввода названия формулы:
После ввода названия формулы и нажатия кнопки ОК сразу же открывается окно редактора формул:
К введенному имени функции Crystal Reports автоматически добавляет префикс @. Имя функции отображается в заголовке окна редактора.
Окно редактора формул состоит из следующих частей:
Панель инструментов.
Включает в себя набор инструментов, позволяющих выбора и отладки формул, а также
поиска.
Окно – проводник полей. Включает два древовидных списка, верхний
отображает поля, включенные в отчет, нижний – все доступные поля БД. Обратите
внимание: наша формула @PSum уже включена в список доступных полей. Crystal
Reports позволяет в формулах ссылаться на другие формулы, а также делать
рекурсию.
Окно – проводник функций. Отображает в виде древовидной структуры
функции, встроенные в систему.
Окно – проводник операторов. Отображает в виде
древовидной структуры операторы языка функций Crystal Reports.
Окно
редактирования функций. Является основным окном редактора и расположено в нижней
части. Именно в этом окне вводятся, редактируются и отлаживаются функции
Окна - проводники можно закрыть и открыть по надобности с помощью кнопок панели инструментов редактора формул.
Вводить и редактировать формулы можно одним из следующих
способов:
Выполнить двойной щелчок мышью на требуемом элементе в одном из
проводников. Элемент будет вставлен в окно редактирования на месте
курсора.
Выполнить перетаскивание требуемого элемента в окно
редактирования.
Ввести формулу вручную с клавиатуры.
Все эти способы могут комбинироваться.